CXXFLAGS=-g -Wall -Werror -O3 -fmessage-length=0 -std=c++0x
OBJS=puzamatrix.o cmd.o def.o utils.o input_feature.o metamodel.o model.o model_fm.o log.o
TARGET=puzamatrix.exe
puzamatrix.exe: $(OBJS)
	$(CXX) -o $(TARGET) $(OBJS)
puzamatrix.o:	cmd.hpp input_feature.hpp metamodel.hpp log.hpp puzamatrix.cpp
	$(CXX) $(CXXFLAGS) -c puzamatrix.cpp
model_fm.o:	model.hpp model_fm.hpp model_fm.cpp log.hpp
	$(CXX) $(CXXFLAGS) -c model_fm.cpp
model.o:	model.hpp model.cpp def.hpp model_fm.hpp log.hpp
	$(CXX) $(CXXFLAGS) -c model.cpp
metamodel.o:	metamodel.hpp metamodel.cpp log.hpp
	$(CXX) $(CXXFLAGS) -c metamodel.cpp
input_feature.o:	input_feature.hpp input_feature.cpp def.hpp log.hpp utils.hpp
	$(CXX) $(CXXFLAGS) -c input_feature.cpp
cmd.o:	cmd.hpp cmd.cpp def.hpp
	$(CXX) $(CXXFLAGS) -c cmd.cpp
log.o:	log.hpp log.cpp def.hpp utils.hpp
	$(CXX) $(CXXFLAGS) -c log.cpp
def.o:	def.hpp def.cpp
	$(CXX) $(CXXFLAGS) -c def.cpp
utils.o:utils.hpp utils.cpp
	$(CXX) $(CXXFLAGS) -c utils.cpp
all:	$(TARGET)
	mv *.exe ../bin
clean:
	rm -rf *~ $(OBJS) $(TARGET)
